package com.hnust.aopdemo.chain;

/**
 * 责任链模式
 */
public abstract class Handler {

    /**
     * 判断还有没有其它对象来处理
     */
    private Handler success;

    public Handler getSuccess() {
        return success;
    }

    public void setSuccess(Handler success) {
        this.success = success;
    }

    public void execute() {
        //首先处理自己的handleProcess
        handleProcess();
        //如果success存在，则调用success的execute方法
        if (success != null) {
            success.execute();
        }
    }

    protected abstract void handleProcess();
}
